<?php
/**
 * Created by PhpStorm.
 * User: ysongyang
 * Date: 2016/6/7
 * Time: 12:19
 */
namespace Admin\Model;

use Think\Model\RelationModel;

class ArticleModel extends RelationModel{
    // 定义主表名称
    protected $tableName = 'article';

    // 一对一: 有 （HAS_ONE）     属于 （BELONGS_TO）
    // 一对多: 有 （HAS_MANY） 属于 （BELONG_TO）
    // 多对多: （MANY_TO_MANY）

    // 定义关联模型关系
    protected $_link = array(
       /* 'attribute' => array(
            'mapping_type' => MANY_TO_MANY, // 多对多关系
            'mapping_name' => 'attribute', // 副表名
            'foreign_key' => 'bid', // 多对多中间表的主表ID
            'relation_foreign_key' => 'aid', // 多对多中间表的副表ID
            'relation_table' => 'system_blog_attr'
        ),*/
        'category' => array(
            'mapping_type' => Self::BELONGS_TO, // 多对一
            'foreign_key' => 'cate_id', // 中间表的主表ID
            'mapping_fields' => 'cate_name', // 只读取字段定义
            'as_fields' => 'cate_name:cate_name'
        )
    ); // 把name字段放到主表数组元素中,并修改名字为catetype

    public function getBlogById($id)
    {
        $field = array('del'); // 定义不想读取的字段
        $where = array('id' => $id); // 定义where 读取没有被删除的文章
        // relation('cate') 定义关联模型的某个表
        return $this->field($field, true)->where($where)->relation(true)->select();
    }
}